﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыЗонРадиационногоПоражения
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"a6971483-93f7-4bd5-8086-5f7b0505da57\", \"Представление\":\"ЗонаОтселения\"}")]
		ЗонаОтселения = 0,//Зона отселения
		[EnumMember(Value = "{\"Ссылка\":\"03e49af8-17ed-4ddc-a2d4-16e5e790c0bb\", \"Представление\":\"ЗонаСПравомНаОтселение\"}")]
		ЗонаСПравомНаОтселение = 1,//Зона с правом на отселение
		[EnumMember(Value = "{\"Ссылка\":\"64498bba-757f-4e8d-849f-221e4298eae0\", \"Представление\":\"ЗонаСЛьготнымСоциальноЭкономическимСтатусом\"}")]
		ЗонаСЛьготнымСоциальноЭкономическимСтатусом = 2,//Зона с льготным социально-экономическим статусом
	}
	public static partial class ВидыЗонРадиационногоПоражения_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ЗонаОтселения = new Guid("7b5f8680-0505-57da-4bd5-93f7a6971483");//Зона отселения
		public static readonly Guid ЗонаСПравомНаОтселение = new Guid("e516d4a2-90e7-bbc0-4ddc-17ed03e49af8");//Зона с правом на отселение
		public static readonly Guid ЗонаСЛьготнымСоциальноЭкономическимСтатусом = new Guid("1e229f84-9842-e0ea-4e8d-757f64498bba");//Зона с льготным социально-экономическим статусом
		public static ВидыЗонРадиационногоПоражения Получить(this ВидыЗонРадиационногоПоражения Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыЗонРадиационногоПоражения Получить(this ВидыЗонРадиационногоПоражения Значение, Guid Ссылка)
		{
			if(Ссылка == ЗонаОтселения)
			{
				return ВидыЗонРадиационногоПоражения.ЗонаОтселения;
			}
			else if(Ссылка == ЗонаСПравомНаОтселение)
			{
				return ВидыЗонРадиационногоПоражения.ЗонаСПравомНаОтселение;
			}
			else if(Ссылка == ЗонаСЛьготнымСоциальноЭкономическимСтатусом)
			{
				return ВидыЗонРадиационногоПоражения.ЗонаСЛьготнымСоциальноЭкономическимСтатусом;
			}
			return ВидыЗонРадиационногоПоражения.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыЗонРадиационногоПоражения Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыЗонРадиационногоПоражения Значение)
		{
			switch (Значение)
			{
				case ВидыЗонРадиационногоПоражения.ЗонаОтселения: return ЗонаОтселения;
				case ВидыЗонРадиационногоПоражения.ЗонаСПравомНаОтселение: return ЗонаСПравомНаОтселение;
				case ВидыЗонРадиационногоПоражения.ЗонаСЛьготнымСоциальноЭкономическимСтатусом: return ЗонаСЛьготнымСоциальноЭкономическимСтатусом;
			}
			return Guid.Empty;
		}
	}
}